<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <title>SLF4J</title>
        <link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
    </head>
    <body>
        <script>
            prefix = '';
        </script>

        <script src="templates/header.js"></script>
        <div id="left">
            <script src="templates/left.js"></script>
        </div>
        <div id="right">
            <script src="templates/right.js"></script>
        </div>
        <div id="content">


            <h1>Simple Logging Facade for Java (SLF4J)</h1>

            <p>The Simple Logging Facade for Java or (SLF4J) is intended to
                serve as a simple facade for various logging APIs allowing to the
                end-user to plug in the desired implementation at
                <em>deployment</em> time. SLF4J also supports a <a
                    href="legacy.html">bridging legacy APIs</a> as well as a <a
                    href="migrator.html">source code migration tool</a>.

            </p>

            <p>SLF4J API offers an advanced abstraction of various logging
                systems, including JDK 1.4 logging, log4j and logback. Features
                include <a href="faq.html#logging_performance">parameterized
                    logging</a> and <a href="manual.html#mdc">MDC support</a>.
            </p>

            <p>Logging systems can either choose to implement the the SLF4J
                interfaces directly, e.g. <a
                    href="http://logback.qos.ch">logback</a> or <a
                    href="api/org/slf4j/impl/SimpleLogger.html">SimpleLogger</a>. Alternatively,
                it is possible (and rather easy) to write SLF4J adapters for a given
                API implementation, e.g. <a
                    href="api/org/slf4j/impl/Log4jLoggerAdapter.html">Log4jLoggerAdapter</a>
                or <a
                    href="api/org/slf4j/impl/JDK14LoggerAdapter.html">JDK14LoggerAdapter</a>..
            </p>

            <h2>Simplicity</h2>

            <p>The SLF4J interfaces and their various adapters are simple and
                straightforward. Most developers familiar with the Java language
                should be able to read and fully understand the code in less than
                one hour.
            </p>

            <p>SLF4J does not rely on any special class loader machinery. In
                fact, the binding between SLF4J and a given logging API
                implementation is performed <em>statically</em> at compile time of
                each binding. Each binding is hardwired to use one and only one
                specific logging API implementation. Each binding corresponds to one
                jar file. In your code, in addition to <em>slf4j-api.jar</em>, you
                simply drop the binding of your choice, that is a jar file, onto the
                appropriate class path location. As a consequence of this simple
                approach, SLF4J suffers from none of the class loader problems or
                memory leaks observed with Jakarta Commons Logging (JCL).
            </p>

            <p>We hope that simplicity of the SLF4J interfaces and the deployment
                model will make it easy for developers of other logging APIs to 
                conform to the SLF4J model.
            </p>

            <h3>Projects depending on SLF4J</h3>

            <p>Here is a non-exhaustive list of projects currently depending on
                SLF4J, in alphabetical order:
            </p>

            <table border="0">
                <tr>
                    <td  valign="top">
                        <ul>

                            <li><a href="http://directory.apache.org/">Apache Directory</a></li>
                            <li><a href="http://incubator.apache.org/ftpserver/">Apache FTPServer</a></li>
                            <li><a href="http://geronimo.apache.org/">Apache Geronimo</a></li>
                            <li><a href="http://incubator.apache.org/graffito/">Apache Graffito</a></li>
                            <li><a href="http://jackrabbit.apache.org/">Apache Jackrabbit</a></li>
                            <li><a href="http://mina.apache.org/">Apache Mina</a></li>
                            <li><a href="http://cwiki.apache.org/qpid/">Apache Qpid</a></li>
                            <li><a href="http://incubator.apache.org/sling/site/index.html">Apache Sling</a></li>
                            <li><a href="http://tapestry.apache.org/">Apache Tapestry</a></li>
                            <li><a href="http://incubator.apache.org/wicket/">Apache Wicket</a></li>
                            <li><a href="http://aperture.sourceforge.net/">Aperture</a></li>
                            <li><a href="http://apogee.nuxeo.org/">Apogee</a></li>
                            <li><a href="http://www.jfrog.org/sites/artifactory/latest/">Artifactory</a></li>
                        </ul>
                    </td>

                    <td  valign="top">
                        <ul>
                            <li><a href="http://docs.safehaus.org/display/ASYNCWEB/Home">AsyncWeb</a></li>
                            <li><a href="http://www.bitronix.be/">Bitronix</a></li>
                            <li><a href="http://www.dbunit.org/">DbUnit</a></li>
                            <li><a href="http://displaytag.sourceforge.net/11/">Display tag</a></li>
                            <li><a href="http://groovy.codehaus.org/GMaven">GMaven</a></li>
                            <li><a href="http://www.h2database.com/">H2 Database</a></li>
                            <li><a href="http://www.icegreen.com/greenmail/">GreenMail</a></li>
                            <li><a href="http://ha-jdbc.sourceforge.net/">HA-JDBC</a></li>         
                            <li><a href="http://www.hibernate.org/">Hibernate</a></li>         
                            <li><a href="http://code.google.com/p/igenko/">Igenko</a></li>         
                            <li><a href="http://jabsorb.org/">Jabsorb</a></li>         
                            <li><a href="http://jetty.mortbay.org/">Jetty v6</a></li>
                            <li><a href="http://www.topmind.biz/html/index.php">jLynx</a></li>
                        </ul>

                    </td>

                    <td valign="top">
                        <ul>
                            <li><a href="http://code.google.com/p/jmesa/">JMesa</a></li>
                            <li><a href="http://www.artofsolving.com/opensource/jodconverter">JODConverter</a></li>
                            <li><a href="http://jtrac.info/dependencies.html">JTrac</a></li>
                            <li><a href="http://jwebunit.sourceforge.net/2.x/">JWebUnit 2.x</a></li>
                            <li><a href="http://www.liferay.com/web/guest/home">LIFERAY</a></li>                    
                            <li><a href="http://log4jdbc.sourceforge.net">log4jdbc</a></li>
                            <li><a href="http://www.magnolia.info/en/magnolia.html">Magnolia</a></li>
                            <li><a href="http://mrcp4j.sourceforge.net/">MRCP4J</a></li>
                            <li><a href="http://www.mindquarry.com/">Mindquarry</a></li>
                            <li><a href="http://mugshot.org/">Mugshot</a></li>
                            <li><a href="http://mule.codehaus.org/display/MULE/Home">Mule</a></li>   
                            <li><a href="http://www.novocode.com/naf/">Novocode</a></li>   
                        </ul>
                    </td>

                    <td valign="top">
                        <ul>
                            <li><a href="http://www.unidata.ucar.edu/software/netcdf-java/">NetCDF</a></li>
                            <li><a href="http://www.openrdf.org/">OpenRDF</a></li>
                            <li><a href="http://docs.safehaus.org/display/PENROSE/Home">Penrose</a></li>
                            <li><a href="http://proximity.abstracthorizon.org/index.html">Proximity</a></li>
                            <li><a href="http://pzfilereader.sourceforge.net/">PZFileReader</a></li>
                            <li><a href="http://www.quickfixj.org/">QuickFIX/J</a></li>
                            <li><a href="http://smsj.sourceforge.net/dependencies.html">SMSJ</a></li>
                            <li><a href="http://www.springframework.org/osgi">Spring-OSGi</a></li>
                            <li><a href="http://www.timefinder.de/">TimeFinder</a></li>
                            <li><a href="http://www.wtfigo.org/index.html">WTFIGO</a></li>                 
                            <li><a href="http://yaslibrary.sourceforge.net/index.shtml">YASL</a></li>
                            <li><a href="http://xooctory.xoocode.org/">Xooctory</a></li>


                        </ul>
                    </td>

                </tr>
            </table>

            <script src="templates/footer.js"></script>
        </div>
    </body>
</html>
